/**
 * 分享插件
 */
(function(hybrid){

    var platformType = {
        /**
         *  未知
         */
        Unknown: 0,
        /**
         *  新浪微博
         */
        SinaWeibo: 1,
        /**
         *  腾讯微博
         */
        TencentWeibo: 2,
        /**
         *  豆瓣
         */
        DouBan: 5,
        /**
         *  QQ空间
         */
        QZone: 6,
        /**
         *  人人网
         */
        Renren: 7,
        /**
         *  开心网
         */
        Kaixin: 8,
        /**
         *  Facebook
         */
        Facebook: 10,
        /**
         *  Twitter
         */
        Twitter: 11,
        /**
         *  印象笔记
         */
        YinXiang: 12,
        /**
         *  Google+
         */
        GooglePlus: 14,
        /**
         *  Instagram
         */
        Instagram: 15,
        /**
         *  LinkedIn
         */
        LinkedIn: 16,
        /**
         *  Tumblr
         */
        Tumblr: 17,
        /**
         *  邮件
         */
        Mail: 18,
        /**
         *  短信
         */
        SMS: 19,
        /**
         *  拷贝
         */
        Copy: 21,
        /**
         *  微信好友
         */
        WechatSession: 22,
        /**
         *  微信朋友圈
         */
        WechatTimeline: 23,
        /**
         *  QQ好友
         */
        QQFriend: 24,
        /**
         *  Pocket
         */
        Pocket: 26,
        /**
         *  有道云笔记
         */
        YouDaoNote: 27,
        /**
         *  Pinterest
         */
        Pinterest: 30,
        /**
         *  Flickr
         */
        Flickr: 34,
        /**
         *  微信收藏
         */
        WechatFav: 37,
        /**
         *  Line
         */
        Line: 42,
        /**
         *  WhatsApp
         */
        WhatsApp: 43,
        /**
         *  KaKao Talk
         */
        KakaoTalk: 44,
        /**
         *  KaKao Story
         */
        KakaoStory: 45,
        /**
         *  支付宝好友
         */
        AliPaySocial: 50,
        /**
         *  KaKao
         */
        Kakao: 995,
        /**
         *  印象笔记国际版
         */
        Evernote: 996,
        /**
         *  微信平台,
         */
        Wechat: 997,
        /**
         *  QQ平台
         */
        QQ: 998,
        /**
         *  任意平台
         */
        Any: 999
    };

    var contentType = {
        /**
         *  自动适配类型，视传入的参数来决定
         */
        Auto: 0,

        /**
         *  文本
         */
        Text: 1,

        /**
         *  图片
         */
        Image: 2,

        /**
         *  网页
         */
        WebPage: 3,

        /**
         *  应用
         */
        App: 4,

        /**
         *  音频
         */
        Audio: 5,

        /**
         *  视频
         */
        Video: 6
    };

    hybrid.plugin.Social = {

        /**
         * 分享平台
         */
        platformType: platformType,

        /**
         * 内容类型
         */
        contentType: contentType,
        
        /**
         * @param {*} options 参数
         * @param {Function} callback
         */
        showShareActionSheet: function(options, callback){
            options = hybrid.utils.extend({
                contentType: contentType.Auto,
                images: ['https://www.wendaojiang.com/logo.png'],
                url: 'https://www.wendaojiang.com',
                platforms: [
                    platformType.SinaWeibo,
                    platformType.Wechat,
                    platformType.WechatTimeline,
                    platformType.WechatSession,
                    platformType.QQ,
                    platformType.QQFriend,
                    platformType.TencentWeibo,
                    platformType.Renren
                ]
            }, options);
            hybrid.callAction('Social/showShareActionSheet', options, function(result){
                typeof callback === 'function' && callback(result.status, result.data);
            });
        },

        /**
         * 直接分享内容
         * @param {*} options 参数
         * @param {Function} callback
         */
        share: function(options, callback){
            options = hybrid.utils.extend({
                contentType: contentType.Auto,
                image: 'https://www.wendaojiang.com/logo.png',
                url: 'https://www.wendaojiang.com',
                platform: platformType.SinaWeibo
            }, options);
            hybrid.callAction('Social/share', options, function(result){
                typeof callback === 'function' && callback(result.status, result.data);
            });
        },

        /**
         * 获取授权
         * @param {platformType} platform
         * @param {Function} callback
         */
        authorize: function(platform, callback){
            hybrid.callAction('Social/authorize', {
                platform: platform
            }, function(result){
                typeof callback === 'function' && callback(result.status, result.data);
            });
        },

        /**
         * 判断分享平台是否授权
         * @param {platformType} platform
         * @param {Function} callback
         */
        hasAuthorized: function(platform, callback){
            hybrid.callAction('Social/hasAuthorized', {
                platform: platform
            }, function(result){
                typeof callback === 'function' && callback(result.status, result.data);
            });
        },

        /**
         * 取消分享平台授权
         * @param {platformType} platform
         * @param {Function} callback
         */
        cancelAuthorize: function(platform, callback){
            hybrid.callAction('Social/cancelAuthorize', {
                platform: platform
            }, function(result){
                typeof callback === 'function' && callback(result.status, result.data);
            });
        },

        /**
         * 获取好友列表
         * @param options
         * @param callback
         */
        getFriends: function(options, callback){
            options = hybrid.utils.extend({
                platform: platformType.SinaWeibo,
                page: 1,
                pageSize: 10
            }, options);
            hybrid.callAction('Social/getFriends', options, function(result){
                typeof callback === 'function' && callback(result.status, result.data);
            });
        },

        /**
         * 获取用户信息
         * @param options
         * @param callback
         */
        getUserInfo: function(options, callback){
            options = hybrid.utils.extend({
                platform: platformType.SinaWeibo,
                uid: "",
                userName: "" // uid, userName 二选一
            }, options);
            hybrid.callAction('Social/getUserInfo', options, function(result){
                typeof callback === 'function' && callback(result.status, result.data);
            });
        }
    };

})(Hybrid || {});
